#ifndef __ITEXTSCENENODE_H__
#define __ITEXTSCENENODE_H__

#include "IDrawableSceneNode.h"

typedef enum AlignementX
{
	ALIGNEMENT_X_LEFT		= 0,
	ALIGNEMENT_X_CENTER		= 1,
	ALIGNEMENT_X_RIGHT		= 2,
	ALIGNEMENT_X_FORCE32	=	0xffffffff,
} AlignementX;

typedef enum AlignementY
{
	ALIGNEMENT_Y_OVER		= 0,
	ALIGNEMENT_Y_MIDLE		= 1,
	ALIGNEMENT_Y_UNDER		= 2,
	ALIGNEMENT_Y_FORCE32	= 0xffffffff,
} AlignementY;

class ITextSceneNode : public IDrawableSceneNode
{
public:
	ITextSceneNode(ISceneNodeBasicParamsDeclaration):IDrawableSceneNode(ISceneNodeBasicParams)	{}
	virtual ~ITextSceneNode()																	{}

	virtual void SetText(stringc newText="")								= 0;
	virtual const stringc &GetText()										= 0;
	virtual void SetAlignementX(AlignementX ax=ALIGNEMENT_X_CENTER)			= 0;
	virtual void SetAlignementY(AlignementY ay=ALIGNEMENT_Y_MIDLE)			= 0;

	virtual void SetPositionAligned(vector3dvpos &nv)						= 0;
	virtual void SetPositionAlignedX(vPos nv)								= 0;
	virtual void SetPositionAlignedY(vPos nv)								= 0;
	virtual void SetPositionAlignedZ(vPos nv)								= 0;

	virtual void SetSpace(vector2dvpos &nv)									= 0;
	virtual void SetSpaceX(vPos nv=0.0)										= 0;
	virtual void SetSpaceY(vPos nv=0.0)										= 0;

	virtual void SetForeColor(CColor &color)								= 0;
	virtual void SetBackColor(CColor &color)								= 0;
};

#endif
